load("@rules_java//java:defs.bzl", "java_test")

package(default_applicable_licenses = [
    "//:license",
])

java_test(
    name = "Exercise1Test",
    srcs = ["Exercise1Test.java"],
    test_class = "codelab.solutions.Exercise1Test",
    deps = [
        "//:java_truth",
        "//codelab:solutions",
        "//common:cel_ast",
        "//compiler",
        "//compiler:compiler_builder",
        "@maven//:junit_junit",
    ],
)

java_test(
    name = "Exercise2Test",
    srcs = ["Exercise2Test.java"],
    test_class = "codelab.solutions.Exercise2Test",
    deps = [
        "//:java_truth",
        "//codelab:solutions",
        "//common:cel_ast",
        "//common/types",
        "@com_google_googleapis//google/rpc/context:attribute_context_java_proto",
        "@maven//:com_google_guava_guava",
        "@maven//:com_google_protobuf_protobuf_java",
        "@maven//:com_google_testparameterinjector_test_parameter_injector",
        "@maven//:junit_junit",
    ],
)

java_test(
    name = "Exercise3Test",
    srcs = ["Exercise3Test.java"],
    test_class = "codelab.solutions.Exercise3Test",
    deps = [
        "//:java_truth",
        "//codelab:solutions",
        "//runtime",
        "@maven//:com_google_testparameterinjector_test_parameter_injector",
        "@maven//:junit_junit",
    ],
)

java_test(
    name = "Exercise4Test",
    srcs = ["Exercise4Test.java"],
    test_class = "codelab.solutions.Exercise4Test",
    deps = [
        "//:java_truth",
        "//codelab:solutions",
        "//common:cel_ast",
        "@com_google_googleapis//google/rpc/context:attribute_context_java_proto",
        "@maven//:com_google_guava_guava",
        "@maven//:com_google_protobuf_protobuf_java",
        "@maven//:com_google_testparameterinjector_test_parameter_injector",
        "@maven//:junit_junit",
    ],
)

java_test(
    name = "Exercise5Test",
    srcs = ["Exercise5Test.java"],
    test_class = "codelab.solutions.Exercise5Test",
    deps = [
        "//:java_truth",
        "//codelab:solutions",
        "//common:cel_ast",
        "@maven//:com_google_guava_guava",
        "@maven//:com_google_protobuf_protobuf_java",
        "@maven//:com_google_testparameterinjector_test_parameter_injector",
        "@maven//:junit_junit",
    ],
)

java_test(
    name = "Exercise6Test",
    srcs = ["Exercise6Test.java"],
    test_class = "codelab.solutions.Exercise6Test",
    deps = [
        "//:java_truth",
        "//codelab:solutions",
        "//common:cel_ast",
        "//common/internal:proto_time_utils",
        "@com_google_googleapis//google/rpc/context:attribute_context_java_proto",
        "@maven//:com_google_guava_guava",
        "@maven//:com_google_protobuf_protobuf_java",
        "@maven//:com_google_testparameterinjector_test_parameter_injector",
        "@maven//:junit_junit",
    ],
)

java_test(
    name = "Exercise7Test",
    srcs = ["Exercise7Test.java"],
    test_class = "codelab.solutions.Exercise7Test",
    deps = [
        "//:java_truth",
        "//codelab:solutions",
        "//common:cel_ast",
        "@maven//:com_google_guava_guava",
        "@maven//:com_google_testparameterinjector_test_parameter_injector",
        "@maven//:junit_junit",
    ],
)

java_test(
    name = "Exercise8Test",
    srcs = ["Exercise8Test.java"],
    test_class = "codelab.solutions.Exercise8Test",
    deps = [
        "//:java_truth",
        "//codelab:solutions",
        "//common:cel_ast",
        "//common:compiler_common",
        "//parser:unparser",
        "//runtime",
        "@com_google_googleapis//google/rpc/context:attribute_context_java_proto",
        "@maven//:com_google_guava_guava",
        "@maven//:com_google_testparameterinjector_test_parameter_injector",
        "@maven//:junit_junit",
    ],
)

java_test(
    name = "Exercise9Test",
    srcs = ["Exercise9Test.java"],
    test_class = "codelab.solutions.Exercise9Test",
    deps = [
        "//:java_truth",
        "//codelab:solutions",
        "//common:cel_ast",
        "//common:compiler_common",
        "@com_google_googleapis//google/rpc/context:attribute_context_java_proto",
        "@maven//:com_google_testparameterinjector_test_parameter_injector",
        "@maven//:junit_junit",
    ],
)
